package _1request;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/test1")
public class Test1Servlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		req.setCharacterEncoding("utf-8");
		
		// 告诉客户端 数据类型网页格式 编码是utf-8
		resp.setContentType("text/html;charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		
		
		
		// 1. 请求行
//		pw.print("请求方式:"+req.getMethod()+"<br />");
//		pw.print("请求地址:"+req.getRequestURI()+"<br />");
//		pw.print("请求地址:"+req.getRequestURL()+"<br />");
//		pw.print("请求协议:"+req.getProtocol()+"<br />");
//		
//		pw.print("请求客户端ip:"+req.getRemoteAddr()+"<br />");
//		pw.print("请求本机端口:"+req.getLocalPort()+"<br />");
		
		
		// 2. 请求头
//		pw.print("请求头"+req.getHeaderNames());
//		
//		
//		Enumeration<String> keys = req.getHeaderNames();
//		while(keys.hasMoreElements())
//		{
//			String key = keys.nextElement();
//			pw.print(key+":"+req.getHeader(key)+"<br />");
//		}
//		
		
		// 3. 参数信息
//		pw.println(req.getParameter("username")+"<br />");
//		pw.println(req.getParameter("password")+"<br />");
		
		Map<String,String[]> maps = req.getParameterMap();
		
		for(Map.Entry<String, String[]> e:maps.entrySet())
		{
			
//			Arrays.toString(null)
			pw.println(e.getKey()+":"+Arrays.toString(e.getValue()));
			
		}
		
		
		
		// 4. 域对象
		// 可以放入信息
		req.setAttribute("name2", "lisi");
		pw.print(req.getAttribute("name2"));
		
		
	}
	
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		// 调用doGet一并处理
		doGet(req,resp);
				
		// 练习:
		// 1. 编写一个某交友网站的注册网页register.html 提交到register 采用post方式
//		    需要填写如下信息: 
//		    用户名 
//		    密码 
//		    重复密码 
//		    性别	(单选)
//		    婚姻状况	(下拉)
//		    生日
//		    电话 
//		    QQ
//		    年龄 
//		    爱好  多选
//		    学历  (下拉)
//		    个人简介

		// 2. 编写一个RegisterServlet,接受处理用户注册提交的信息
//		    映射地址:/register
//			  打印出所有用户提交的的信息    





	}
}